[INFO] cloning repository https://github.com/emj-lang/clex
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/emj-lang/clex" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femj-lang%2Fclex", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femj-lang%2Fclex'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 82efe9636b722d6eeb4558ca67feefaf44faad85
[INFO] checking emj-lang/clex against master#82310651b93a594a3fd69015e1562186a080d94c for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femj-lang%2Fclex" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/emj-lang/clex
[INFO] finished tweaking git repo https://github.com/emj-lang/clex
[INFO] tweaked toml for git repo https://github.com/emj-lang/clex written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/emj-lang/clex on toolchain 82310651b93a594a3fd69015e1562186a080d94c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/emj-lang/clex already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9cbe6b3373e22a92900be5649f3164d2f997814a7cefc247119f84cc58338c46
[INFO] running `Command { std: "docker" "start" "-a" "9cbe6b3373e22a92900be5649f3164d2f997814a7cefc247119f84cc58338c46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9cbe6b3373e22a92900be5649f3164d2f997814a7cefc247119f84cc58338c46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9cbe6b3373e22a92900be5649f3164d2f997814a7cefc247119f84cc58338c46", kill_on_drop: false }`
[INFO] [stdout] 9cbe6b3373e22a92900be5649f3164d2f997814a7cefc247119f84cc58338c46
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b8b9bb3798654598d81b660f024623a76287fe06e9e3059cd23850f041c98412
[INFO] running `Command { std: "docker" "start" "-a" "b8b9bb3798654598d81b660f024623a76287fe06e9e3059cd23850f041c98412", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking clex v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matchers/basic.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             try!(write!(f, "%"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/matchers/basic.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |             b @ 0x20 ... 0x7E => write!(f, "{}", b as char),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/group.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         try!(write!(f, "("));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/group.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             try!(write!(f, "*"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/group.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             try!(write!(f, "<"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/group.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             try!(write!(f, "{}", c));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         try!(write!(f, "["));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matchers/set.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         try!(write!(f, "]"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |             try!(write!(f, "*"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:92:46
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 &SetElement::PE(ref pe) => { try!(write!(f, "{}", pe)); },
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     try!(write!(f, "{}", lower));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     try!(write!(f, ":"));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |                     try!(write!(f, "{}", upper));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/quantifiers.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         try!(write!(f, "{}", self.quantified));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/quantifiers.rs:87:39
[INFO] [stdout]    |
[INFO] [stdout] 87 |             Quantification::Greedy => try!(write!(f, "+")),
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/quantifiers.rs:88:42
[INFO] [stdout]    |
[INFO] [stdout] 88 |             Quantification::NonGreedy => try!(write!(f, "-")),
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/quantifiers.rs:89:41
[INFO] [stdout]    |
[INFO] [stdout] 89 |             Quantification::Optional => try!(write!(f, "?")),
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/root.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             try!(write!(f, "{}", c));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/lib.rs:64:52
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn compare_next(&self, state: &mut MatchState, Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<&Next>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lib.rs:82:38
[INFO] [stdout]    |
[INFO] [stdout] 82 | ...                   c @ b'A' ... b'Z' | c @ b'a' ... b'z' => {
[INFO] [stdout]    |                                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lib.rs:82:58
[INFO] [stdout]    |
[INFO] [stdout] 82 | ...                   c @ b'A' ... b'Z' | c @ b'a' ... b'z' => {
[INFO] [stdout]    |                                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/group.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 |     children: Vec<Box<PatternElement>>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     children: Vec<Box<dyn PatternElement>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/matchers/set.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     next: Box<PatternElement>,
[INFO] [stdout]   |               ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     next: Box<dyn PatternElement>,
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/set.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     PE(Box<PatternElement>),
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     PE(Box<dyn PatternElement>),
[INFO] [stdout]    |            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/set.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |     R { lower: Box<PatternElement>, upper: Box<PatternElement> },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     R { lower: Box<dyn PatternElement>, upper: Box<PatternElement> },
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/set.rs:16:48
[INFO] [stdout]    |
[INFO] [stdout] 16 |     R { lower: Box<PatternElement>, upper: Box<PatternElement> },
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     R { lower: Box<PatternElement>, upper: Box<dyn PatternElement> },
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matchers/set.rs:113:20
[INFO] [stdout]     |
[INFO] [stdout] 113 |     state: &'a mut MatchState,
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |     state: &'a mut dyn MatchState,
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/quantifiers.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |     quantified: Box<PatternElement>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     quantified: Box<dyn PatternElement>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/quantifiers.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     next: Box<PatternElement>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     next: Box<dyn PatternElement>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/matchers/root.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 |     children: Vec<Box<PatternElement>>,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     children: Vec<Box<dyn PatternElement>>,
[INFO] [stdout]   |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/matchers/slice.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 |     slice: &'a [Box<PatternElement>],
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     slice: &'a [Box<dyn PatternElement>],
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchstate.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     userdata: HashMap<String, Box<Any>>,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     userdata: HashMap<String, Box<dyn Any>>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     element: &'a PatternElement,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     element: &'a dyn PatternElement,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/basic.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:60:35
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:20:54
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<Any>>;
[INFO] [stdout]    |                                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<dyn Any>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/basic.rs:58:35
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/basic.rs:79:35
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matchers/basic.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:64:40
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn compare_next(&self, state: &mut MatchState, Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn compare_next(&self, state: &mut dyn MatchState, Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/group.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn compare_next(&self, state: &mut MatchState, next: Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn compare_next(&self, state: &mut dyn MatchState, next: Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matchers/set.rs:119:27
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn new(state: &'a mut MatchState) -> MatchStateProxy<'a> {
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn new(state: &'a mut dyn MatchState) -> MatchStateProxy<'a> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matchers/set.rs:183:54
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<Any>> {
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<dyn Any>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/slice.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(slice: &'a [Box<PatternElement>], capture: bool, startpos: usize, backmatch: bool) -> Slice<'a> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(slice: &'a [Box<dyn PatternElement>], capture: bool, startpos: usize, backmatch: bool) -> Slice<'a> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/slice.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn simple(slice: &'a [Box<PatternElement>]) -> Slice<'a> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn simple(slice: &'a [Box<dyn PatternElement>]) -> Slice<'a> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/slice.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn compare_next(&self, state: &mut MatchState, next: Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn compare_next(&self, state: &mut dyn MatchState, next: Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchstate.rs:74:54
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<Any>> {
[INFO] [stdout]    |                                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<dyn Any>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new(element: &'a PatternElement, next: Option<&'b Next>) -> Next<'a, 'b> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new(element: &'a dyn PatternElement, next: Option<&'b Next>) -> Next<'a, 'b> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn element(&self) -> &PatternElement {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn element(&self) -> &dyn PatternElement {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:54:39
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/set.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/quantifiers.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/root.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:73:44
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn parse(pattern: &[u8]) -> Result<Box<PatternElement>, String> {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn parse(pattern: &[u8]) -> Result<Box<dyn PatternElement>, String> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/group.rs:25:45
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn push_child(&mut self, child: Box<PatternElement>) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn push_child(&mut self, child: Box<dyn PatternElement>) {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matchers/basic.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             try!(write!(f, "%"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/set.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(next: Box<PatternElement>, elements: Vec<SetElement>, negated: bool) -> Set {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(next: Box<dyn PatternElement>, elements: Vec<SetElement>, negated: bool) -> Set {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/quantifiers.rs:22:64
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(quantification: Quantification, quantified: Box<PatternElement>, next: Box<PatternElement>) -> Quantifier {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(quantification: Quantification, quantified: Box<dyn PatternElement>, next: Box<PatternElement>) -> Quantifier {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/quantifiers.rs:22:91
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(quantification: Quantification, quantified: Box<PatternElement>, next: Box<PatternElement>) -> Quantifier {
[INFO] [stdout]    |                                                                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(quantification: Quantification, quantified: Box<PatternElement>, next: Box<dyn PatternElement>) -> Quantifier {
[INFO] [stdout]    |                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/root.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(children: Vec<Box<PatternElement>>) -> Root {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(children: Vec<Box<dyn PatternElement>>) -> Root {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/root.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn push_child(&mut self, child: Box<PatternElement>) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn push_child(&mut self, child: Box<dyn PatternElement>) {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/matchers/basic.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |             b @ 0x20 ... 0x7E => write!(f, "{}", b as char),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/group.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         try!(write!(f, "("));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/group.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             try!(write!(f, "*"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/group.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             try!(write!(f, "<"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/group.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             try!(write!(f, "{}", c));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         try!(write!(f, "["));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matchers/set.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         try!(write!(f, "]"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |             try!(write!(f, "*"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:92:46
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 &SetElement::PE(ref pe) => { try!(write!(f, "{}", pe)); },
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     try!(write!(f, "{}", lower));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     try!(write!(f, ":"));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/set.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |                     try!(write!(f, "{}", upper));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/quantifiers.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         try!(write!(f, "{}", self.quantified));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/quantifiers.rs:87:39
[INFO] [stdout]    |
[INFO] [stdout] 87 |             Quantification::Greedy => try!(write!(f, "+")),
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/quantifiers.rs:88:42
[INFO] [stdout]    |
[INFO] [stdout] 88 |             Quantification::NonGreedy => try!(write!(f, "-")),
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/quantifiers.rs:89:41
[INFO] [stdout]    |
[INFO] [stdout] 89 |             Quantification::Optional => try!(write!(f, "?")),
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matchers/root.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             try!(write!(f, "{}", c));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/lib.rs:64:52
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn compare_next(&self, state: &mut MatchState, Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<&Next>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lib.rs:82:38
[INFO] [stdout]    |
[INFO] [stdout] 82 | ...                   c @ b'A' ... b'Z' | c @ b'a' ... b'z' => {
[INFO] [stdout]    |                                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lib.rs:82:58
[INFO] [stdout]    |
[INFO] [stdout] 82 | ...                   c @ b'A' ... b'Z' | c @ b'a' ... b'z' => {
[INFO] [stdout]    |                                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/group.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 |     children: Vec<Box<PatternElement>>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     children: Vec<Box<dyn PatternElement>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/matchers/set.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     next: Box<PatternElement>,
[INFO] [stdout]   |               ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     next: Box<dyn PatternElement>,
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/set.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     PE(Box<PatternElement>),
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     PE(Box<dyn PatternElement>),
[INFO] [stdout]    |            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/set.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |     R { lower: Box<PatternElement>, upper: Box<PatternElement> },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     R { lower: Box<dyn PatternElement>, upper: Box<PatternElement> },
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/set.rs:16:48
[INFO] [stdout]    |
[INFO] [stdout] 16 |     R { lower: Box<PatternElement>, upper: Box<PatternElement> },
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     R { lower: Box<PatternElement>, upper: Box<dyn PatternElement> },
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matchers/set.rs:113:20
[INFO] [stdout]     |
[INFO] [stdout] 113 |     state: &'a mut MatchState,
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |     state: &'a mut dyn MatchState,
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/quantifiers.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |     quantified: Box<PatternElement>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     quantified: Box<dyn PatternElement>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/quantifiers.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     next: Box<PatternElement>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     next: Box<dyn PatternElement>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/matchers/root.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 |     children: Vec<Box<PatternElement>>,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     children: Vec<Box<dyn PatternElement>>,
[INFO] [stdout]   |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/matchers/slice.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 |     slice: &'a [Box<PatternElement>],
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     slice: &'a [Box<dyn PatternElement>],
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchstate.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     userdata: HashMap<String, Box<Any>>,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     userdata: HashMap<String, Box<dyn Any>>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     element: &'a PatternElement,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     element: &'a dyn PatternElement,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/basic.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:60:35
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:20:54
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<Any>>;
[INFO] [stdout]    |                                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<dyn Any>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/basic.rs:58:35
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/basic.rs:79:35
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matchers/basic.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:64:40
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn compare_next(&self, state: &mut MatchState, Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn compare_next(&self, state: &mut dyn MatchState, Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/group.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn compare_next(&self, state: &mut MatchState, next: Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn compare_next(&self, state: &mut dyn MatchState, next: Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matchers/set.rs:119:27
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn new(state: &'a mut MatchState) -> MatchStateProxy<'a> {
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn new(state: &'a mut dyn MatchState) -> MatchStateProxy<'a> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matchers/set.rs:183:54
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<Any>> {
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<dyn Any>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/slice.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(slice: &'a [Box<PatternElement>], capture: bool, startpos: usize, backmatch: bool) -> Slice<'a> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(slice: &'a [Box<dyn PatternElement>], capture: bool, startpos: usize, backmatch: bool) -> Slice<'a> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/slice.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn simple(slice: &'a [Box<PatternElement>]) -> Slice<'a> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn simple(slice: &'a [Box<dyn PatternElement>]) -> Slice<'a> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/slice.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn compare_next(&self, state: &mut MatchState, next: Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn compare_next(&self, state: &mut dyn MatchState, next: Option<&Next>) -> CompareResult {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchstate.rs:74:54
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<Any>> {
[INFO] [stdout]    |                                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn get_ud(&mut self) -> &mut HashMap<String, Box<dyn Any>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new(element: &'a PatternElement, next: Option<&'b Next>) -> Next<'a, 'b> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new(element: &'a dyn PatternElement, next: Option<&'b Next>) -> Next<'a, 'b> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn element(&self) -> &PatternElement {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn element(&self) -> &dyn PatternElement {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:54:39
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/set.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/quantifiers.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/root.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn compare(&self, state: &mut MatchState) -> CompareResult {
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn compare(&self, state: &mut dyn MatchState) -> CompareResult {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:73:44
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn parse(pattern: &[u8]) -> Result<Box<PatternElement>, String> {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn parse(pattern: &[u8]) -> Result<Box<dyn PatternElement>, String> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/group.rs:25:45
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn push_child(&mut self, child: Box<PatternElement>) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn push_child(&mut self, child: Box<dyn PatternElement>) {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/set.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(next: Box<PatternElement>, elements: Vec<SetElement>, negated: bool) -> Set {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(next: Box<dyn PatternElement>, elements: Vec<SetElement>, negated: bool) -> Set {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/quantifiers.rs:22:64
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(quantification: Quantification, quantified: Box<PatternElement>, next: Box<PatternElement>) -> Quantifier {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(quantification: Quantification, quantified: Box<dyn PatternElement>, next: Box<PatternElement>) -> Quantifier {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/quantifiers.rs:22:91
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(quantification: Quantification, quantified: Box<PatternElement>, next: Box<PatternElement>) -> Quantifier {
[INFO] [stdout]    |                                                                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(quantification: Quantification, quantified: Box<PatternElement>, next: Box<dyn PatternElement>) -> Quantifier {
[INFO] [stdout]    |                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/root.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(children: Vec<Box<PatternElement>>) -> Root {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(children: Vec<Box<dyn PatternElement>>) -> Root {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matchers/root.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn push_child(&mut self, child: Box<PatternElement>) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn push_child(&mut self, child: Box<dyn PatternElement>) {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn next(&self) -> Option<&Next> {
[INFO] [stdout]    |                 ^^^^^            -----
[INFO] [stdout]    |                 |                ||
[INFO] [stdout]    |                 |                |the same lifetime is hidden here
[INFO] [stdout]    |                 |                |the same lifetime is hidden here
[INFO] [stdout]    |                 |                the same lifetime is elided here
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn next(&self) -> Option<&Next<'_>> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn next(&self) -> Option<&Next> {
[INFO] [stdout]    |                 ^^^^^            -----
[INFO] [stdout]    |                 |                ||
[INFO] [stdout]    |                 |                |the same lifetime is hidden here
[INFO] [stdout]    |                 |                |the same lifetime is hidden here
[INFO] [stdout]    |                 |                the same lifetime is elided here
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn next(&self) -> Option<&Next<'_>> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.57s
[INFO] running `Command { std: "docker" "inspect" "b8b9bb3798654598d81b660f024623a76287fe06e9e3059cd23850f041c98412", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8b9bb3798654598d81b660f024623a76287fe06e9e3059cd23850f041c98412", kill_on_drop: false }`
[INFO] [stdout] b8b9bb3798654598d81b660f024623a76287fe06e9e3059cd23850f041c98412
